package com.ruoyi.business.mapper;

import java.util.List;
import com.ruoyi.business.domain.JtStocktaking;
import com.ruoyi.business.domain.JtStocktakingItem;
import com.ruoyi.business.domain.vo.JtWarehouseVo;

/**
 * 库存盘点Mapper接口
 * 
 * @author Alan Zhang
 * @date 2025-06-13
 */
public interface JtStocktakingMapper 
{
    /**
     * 查询库存盘点
     * 
     * @param stocktakingId 库存盘点主键
     * @return 库存盘点
     */
    public JtStocktaking selectJtStocktakingByStocktakingId(Long stocktakingId);

    /**
     * 查询库存盘点列表
     * 
     * @param jtStocktaking 库存盘点
     * @return 库存盘点集合
     */
    public List<JtStocktaking> selectJtStocktakingList(JtStocktaking jtStocktaking);

    /**
     * 新增库存盘点
     * 
     * @param jtStocktaking 库存盘点
     * @return 结果
     */
    public int insertJtStocktaking(JtStocktaking jtStocktaking);

    /**
     * 修改库存盘点
     * 
     * @param jtStocktaking 库存盘点
     * @return 结果
     */
    public int updateJtStocktaking(JtStocktaking jtStocktaking);

    /**
     * 删除库存盘点
     * 
     * @param stocktakingId 库存盘点主键
     * @return 结果
     */
    public int deleteJtStocktakingByStocktakingId(Long stocktakingId);

    /**
     * 批量删除库存盘点
     * 
     * @param stocktakingIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJtStocktakingByStocktakingIds(String[] stocktakingIds);

    /**
     * 批量删除库存盘点明细
     * 
     * @param stocktakingIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteJtStocktakingItemByStocktakingIds(String[] stocktakingIds);
    
    /**
     * 批量新增库存盘点明细
     * 
     * @param jtStocktakingItemList 库存盘点明细列表
     * @return 结果
     */
    public int batchJtStocktakingItem(List<JtStocktakingItem> jtStocktakingItemList);
    

    /**
     * 通过库存盘点主键删除库存盘点明细信息
     * 
     * @param stocktakingId 库存盘点ID
     * @return 结果
     */
    public int deleteJtStocktakingItemByStocktakingId(Long stocktakingId);
}
